package com.travel.server.manager.impl.controller;

import com.travel.server.manager.api.IProjectService;
import com.travel.server.manager.dto.request.PageRequest;
import com.travel.server.manager.dto.request.project.*;
import com.travel.server.manager.impl.controller.base.AbstractController;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;

/**
 * @Author: LiZhenhui
 * @Date: 2018/10/17 16:42
 * @Desc:
 */
@RestController
@Slf4j
public class ProjectController extends AbstractController implements IProjectService {

    @Override
    public Object queryProjectList(@RequestBody QueryProjectListRequest request) {
        return this.getCommand().handle(request);
    }

    @Override
    public Object queryProjectGroup(@RequestBody PageRequest request) {
        return this.getCommand().handle(request);
    }

    @Override
    public Object addProjectGroup(@RequestBody AddProjectGroupRequest request) {
        return this.getCommand().handle(request);
    }

    @Override
    public Object updateProjectGroup(@RequestBody UpdateProjectGroupRequest request) {
        return this.getCommand().handle(request);
    }

    @Override
    public Object deleteProjectGroup(@RequestBody DeleteProjectGroupRequest request) {
        return this.getCommand().handle(request);
    }

    @Override
    public Object queryProjectBaseInfo(@RequestBody QueryProjectBaseInfoRequest request) {
        return this.getCommand().handle(request);
    }

    @Override
    public Object updateProject(@RequestBody UpdateProjectRequest request) {
        return this.getCommand().handle(request);
    }

    @Override
    public Object queryGroupEnum(@RequestBody QueryGroupEnumRequest request) {
        return this.getCommand().handle(request);
    }

    @Override
    public Object updateProjectBaseInfo(@RequestBody UpdateProjectBaseInfoRequest request) {
        return this.getCommand().handle(request);
    }

    @Override
    public Object queryProjectDetailInfo(@RequestBody QueryProjectDetailInfoRequest request) {
        return this.getCommand().handle(request);
    }

    @Override
    public Object updateProjectDetailInfo(@RequestBody UpdateProjectDetailInfoRequest request) {
        return this.getCommand().handle(request);
    }

    @Override
    public Object queryProjectOtherInfo(@RequestBody QueryProjectOtherInfoRequest request) {
        return this.getCommand().handle(request);
    }

    @Override
    public Object updateProjectOtherInfo(@RequestBody UpdateProjectOtherInfoRequest request) {
        return this.getCommand().handle(request);
    }

    @Override
    public Object deleteProject(@RequestBody DeleteProjectRequest request) {
        return this.getCommand().handle(request);
    }

    @Override
    public Object queryProjectEnum(@RequestBody QueryProjectEnumRequest request) {
        return this.getCommand().handle(request);
    }
}
